Many short-term and long-term storage devices have bad sectors or otherwise unusable areas. MRAM (magnetic random access memory), flash memory, and atomic resolution storage (ARS) devices, for example, often include such defects. Typical bulk storage media, such as magnetic and optical disks, for example, also often include defects, such as inconsistencies in magnetic or optical coatings or other surface anomalies. In all cases, such unusable areas make portions of such media or other storage devices unsuitable for data storage. Nevertheless, it is desirable to use such media or devices for storage even though they contain defects. The defect areas are generally relatively small compared to the total storage area. Moreover, such defects may develop or first be detected only after normal use of the media or device has begun.
MRAM is a non-volatile memory useable for short-term and long-term data storage. MRAM is generally considered to have lower power consumption than short-term memory such as DRAM, SRAM and flash memory, and generally can perform read and write operations much faster (by orders of magnitude) than conventional long-term storage devices such as hard drives. In addition, MRAM is more compact and consumes less power than hard drives. MRAM is also useable for embedded applications such as extremely fast processors and network appliances. Use of MRAM thus provides various advantages in certain situations and environments.
In the case of bulk storage media, traditional schemes for defect management have relied on using a portion of the media as a defect management area in order to present a media that, although including defective areas, appears as if it were defect-free. Accordingly, upon a manufacturer's formatting of the media for subsequent use in data storage, an analysis of the storage areas occurs and defective areas are marked as unusable. A list of the defective areas is stored on the media. A defect management system reads the list from the media and uses it to map defective areas to spare areas. In order to provide media that includes a particular amount of available user storage area, logical addresses of the user data areas are “slipped” into the defect management area so as to omit the physical addresses of the defective areas and, thus, present seemingly defect-free logical media.
As defective areas may develop or be discovered during actual use of bulk storage media, there have been methods of providing redirection for or replacement of such defective areas to available sparing areas. Defective areas discovered after bulk storage media is formatted, for example, typically are called “grown” defects. Systems operate to remap or redirect the logical address associated with an area determined to be defective to the logical address of a sparing area. Therefore, a manufacturer's initial formatting of the media can include establishing predefined user data areas and corresponding predefined sparing areas for redirection or remapping of grown defects. For example, with magneto-optical (MO) disks, a MO drive recognizes the particular media and uses both the predetermined user data areas and predetermined sparing areas (defect redirection or remapping areas). Such sparing areas have been interspersed with the user data areas throughout the media at various intervals, thus establishing zones within the media wherein an amount of user data area and its corresponding sparing area are established. Defect management tables have been provided to allow the drive to properly read and write user data within these zones without encountering a defective area. Such management tables store a list of used sparing areas and are used to determine sparing areas available for remapping. Defective areas are mapped out by reassigning their logical addresses to the sparing areas.
With “linear replacement” defect mapping, a defective sector is simply mapped to a spare sector. Access times for bulk media with linear replacement mapping however, can increase undesirably. To reduce the access latency of linear replacement mapping, “sector slipping” is also used. With sector slipping, the assignment of a logical sector number to a physical sector number skips over the defective sector, and all of the logical sector numbers are “slipped” by one. Sector slipping generally is not considered to lend itself well to use with grown defects, because of the large amount of remapping that must occur.